Organizations in many fields and industries rely heavily on computer networks in day-to-day operations. These computer networks, which are often connected by complex networks of gateways, routers, switches, hubs, bridges and other devices, connect servers, business systems, and user devices within the organizations as well to external destinations such as the Internet.
The task of populating and configuring the components that connect a company's servers, business systems, and user devices is increasingly costly and time consuming, however. As companies grow in size, so do the complexities of these computer networks. Indeed, as the size of a computer network grows, so does the time and costs associated with designing and configuring the network to operate correctly and efficiently. For instance, to create a network, an organization's Information Technology personnel must often manually design the network infrastructure by determining what components are required based on organization's business requirements, including whether there are particular needs for specific network devices, such as gateways, routers, network bridges, switches, hubs, repeaters, etc.
The computer network design must not only identify what components are included in the network, but also how the network components are interconnected with one another so as to achieve the desired network performance and capabilities. Thus, even before physically implementing the networks, a network system designer must manually determine the configurations of each network component (e.g., gateways, routers, network bridges, switches, hubs, repeaters). For instance, a network designer must manually identify the Internet Protocol address (or IP address range) of each component, the DNS server for one or more device(s), the device name, the loop back addresses, point to point addresses, and other important information. There is no way to automatically generate the configuration information of each component based on the topology of the network.
While designing the network topology is itself a time consuming and costly task, a network engineer must also manually generate and configure each network component according to the network configurations set forth in the design. This process is also time consuming and often results in configuration errors that require additional troubleshooting, thereby further increasing costs and creating delays. As the topological size of the computer networks grow, the configuration complexities grow exponentially as well.
As business needs and technology change over time, established computer networks often need to be redesigned and reconfigured. This includes instances where the number of devices that should be supported by the computer network change. The redesign and reconfiguration phases often require the removal of old components and/or the addition of new components that, many times, require a complete reconfiguration of all components in the network. Without a reconfiguration of the components of the network, the components of the network would not be able to adequately and efficiently communicate with one another. Thus, even after networks have been configured, the potential costs to maintain the networks remain high.
Accordingly, there is a long-felt need for a solution to facilitate the design and configuration of computer networks and computer network components.